开源数据库 PostgreSQL 是 1980 年以加利福尼亚大学为中心开发出来的 DBMS,与 MySQL 一样,都是世界上广泛应用的开源数据库(DB)。 本文将会介绍使用 64 位版的 Windows 安装程序(Win x86-64)在 Windows Server 2019(64 位)系统中安装 PostgreSQL 的步骤,请大家结合自身实际下载相应的安装程序 Files\PostgreSQL\14”,选择数据保存路径的,默认路径“C:\PostgreSQL\14\data” ,我们改到了F:\pgdata. 登录 PostgreSQL 时会用到这个密码,请大家务必牢记。 接下来会出现端口号设置画面,无需修改,保持默认的5432,直接点击“Next >”按钮。通常情况下保持默认选项即可。 接下来是 PostgreSQL 地区设置画面。选择默认值,有一次改成了“Chinese(Simplified),Singapore”,出现了下面的错误页面。
: 14主数据库内网 IP : 10.0.0.2从数据库内网 IP : 10.0.0.3主数据库 10.0.0.2安装sudo yum install -y https://download.postgresql.org /pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpmsudo yum install -y postgresql14 -server## 主库初始化数据库/usr/pgsql-14/bin/postgresql-14-setup initdb## 启动sudo systemctl enable postgresql-14sudo systemctl start postgresql-14初始化su - postgrespsql## 创建 postgres 密码ALTER USER postgres WITH PASSWORD 启动sudo systemctl enable postgresql-14sudo systemctl start postgresql-14----测试同步主数据库 10.0.0.2ps aux |grep
功能特点: 信号量驱动唤醒,不做spin 等锁形成队列,依次唤醒 与PGPROC结构耦合,多进程协作
PostgreSQL 14及更高版本 本文谈谈PG14中的关键特性及社区中正在谈论PG15及更高版本的内容。 PG14的主要特性 逻辑复制的改进 PG14中对逻辑复制进行了几项增强: 1) 正在进行中的事务中支持逻辑复制 有助于减少大型事务的回放延迟,这里详细进行了介绍: http://amitkapila16 该事务的解码仅花费1秒,PG14版本前需要4-5分钟。 SQL特性 PG14引入和增强了一些有用的特性,其中许多将有助于从其他数据库迁移。 原文 https://www.postgresql.fastware.com/blog/postgresql-14-and-beyond
为内部标识 XACT内存连续,维护快照需要的xmin和xid,XACT从PROC拆出来是为了更高的cache line命中率,但是因为xmin的频繁更新,造成更严重的cache line invaild,PG14
PostgreSQL 14新特性--减少索引膨胀 PG12中索引的存储更加高效,PG13添加索引条目去重功能进一步提升存储效率。 PG14将带来“自底向上”的索引条目去除功能,旨在减少不必要的页面分裂、索引膨胀和更新大量索引带来的碎片。 HOT参考: https://www.cybertec-postgresql.com/en/hot-updates-in-postgresql-for-better-performance/ 杀死索引条目 在13中,索引膨胀严重,而在14中仅有60%的膨胀(这对索引来说还不错)。在这里我们看到了新功能的最大影响。 原文 https://www.cybertec-postgresql.com/en/index-bloat-reduced-in-postgresql-v14/
PostgreSQL14:自动hash和list分区? PG10中引入了声明式分区,自此随着各个版本的发布,此项功能逐渐完善。 以下功能PG14之前版本已支持: 1) 您可以按照range、list和hash进行分区 2) 添加和合并分区 3) 外键 4) 子分区 5) 在分区上添加索引和约束 6) 分区修剪 缺少的是PG自动创建分区的能力 原文 https://blog.dbi-services.com/postgresql-14-automatic-hash-and-list-partitioning/
PostgreSQL 13、14中逻辑复制/解码改进 最近写了一篇关于Patroni如何解决PG集群中逻辑复制槽故障转移问题的博客: https://www.percona.com/blog/how-patroni-addresses-the-problem-of-the-logical-replication-slot-failover-in-a-postgresql-cluster 我想让他们知道PG13和14等版本中,还有更多与逻辑复制/解码相关的令人兴奋的新功能。在进入新特性前,让我们看看旧版本中逻辑复制的其他问题。 参考: https://www.postgresql.org/docs/14/protocol-logicalrep-message-formats.html 输出插件接口也需要相应改进。 这也是PG14中的改进,参考提交45fdc9738b了解更多详细信息,并参阅PostgreSQL文档。 当超过logical_decoding_work_mem时,使用流。 原文 https://www.percona.com/blog/logical-replication-decoding-improvements-in-postgresql-13-and-14/
探索PostgreSQL 14新特性--SEARCH和CYCLE PG14的SEARCH和CYCLE新功能大大简化了递归查询的方式,本文给出一些基于旅行计划的示例。 上述在google-europe-west3区创建一个PG14(-c pg_version=14)的服务,名为holidays-pg,并使用最小的hobbyist计划。 需要等待几分钟以上PG14服务启动。 PG14的CYCLE选项提供了一种跳过他们的方法。 原文 https://aiven.io/blog/explore-the-new-search-and-cycle-features-in-postgresql-14
PostgreSQL 14通过libpq改进logging PG14中增强了libpq功能,以跟踪应用程序的服务器/客户端通信的可用性。它添加了新的选项控制输出格式。 要了解每个标识符的含义,参考手册中Message Formats部分: https://www.postgresql.org/files/documentation/pdf/13/postgresql- 13-A4.pdf#page=2217 功能改进概述 PG14中,改进了PQtrace函数,使得输出的日志更具可读性并且包含时间戳。 未来 PG14的libpq日志将包含时间戳和更具可读性的文本。在后续版本中,我们会在下面几个方面进一步提升可用性: 1) 当前函数将日志写入指定给PQtrace函数的文件。 原文 https://www.postgresql.fastware.com/blog/improved-logging-by-libpq-in-postgresql-14
好多人还在用postgresql 10 , 12 这些版本的时候, POSTGRESQL 已经开启了POSTGRESQL 14的旅程。 那么到底Postgresql 14 有什么吸引人的,那就需要了解一下。 https://sql-info.de/postgresql/postgresql-14/articles-about-new-features-in-postgresql-14.html 想详细了解了可以到这个网站上找答案 另外的一个更新就是POSTGRESQL 14中对于并行查询的性能提升,同时支持TOAST使用新型的压缩方式,减少CPU的占用提高压缩的比率LZ4的方式. 从上面的一些文字看POSTGRESQL 14 的确在一些性能方面有所提高,并且有一些的确是我们需要的.所以还蛮期待 PG14 .
墨墨导读:本文主要介绍PostgreSQL数据库中一些常见用户安全配置。 1. :postgres:postgres:admin192.168.99.227:6432:*:app1:yourPassword win10C:\Users\pcsuc\AppData\Roaming\postgresql 用户密码安全策略 可参考《PostgreSQL用户密码安全策略管理》(链接:https://www.modb.pro/db/21476) 10. 权限配置 表权限按最小最需原则分配,建议不使用public模式 revoke all on DATABASE XXX from public; 可参考《PostgreSQL用户表权限设计与配置》(链接: 14.
PostgreSQL 14中连接参数target_session_attrs增强 本文讨论PostgreSQL 14数据库连接参数target_session_attrs增强的功能,并解释该功能背后的历史 最终libpq增强功能在PG14提交了。 连接性能的提升 target_session_attrs增加了新值,当连接到PG14或之后的版本时,性能会有所提升。 通过使用与会话状态相关的配置变量来实现: GUC变量 描述 default_transaction_read_only PG14中可报告的(GUC_REPORT) in_hot_standby PG14 3、改变testdb2使其仅接受只读事务,更改testdb2/postgresql.conf添加default_transaction_read_only=on并重启。 $ pg_ctl -D .
PostgreSQL 14中两阶段提交的逻辑解码 正文 Fujitsu OSS团队和PostgreSQL开源社区合作在PG14中添加了在逻辑复制中对两阶段提交进行解密的功能。下面看看这项功能是什么? 功能概述 在PG14版本前,逻辑复制事务仅在事务提交后才被解码和复制。这是为了避免复制事务可能最终被中止。 PG14的逻辑复制支持PREPARE TRANSACTION、COMMIT PREPARED和ROOLBACK PREPARED命令。 test_prepared1', txid 529 (4 rows) postgres=# select * from data; id | data ----+------ 1 | 5 (1 row) 未来 PG14 原文 https://www.postgresql.fastware.com/blog/logical-decoding-of-two-phase-commits
Postgrespro是俄罗斯著名的数据库公司,旗下主要产品基于PostgreSQL。近期发布了一本新书“PostgreSQL 14 Internals”。 简要介绍了PostgreSQL的主要概念,然后深入数据一致性和隔离级别,解释了多版本并发控制和快照隔离、缓冲区缓存和预写日志以及锁系统的实现细节。 完成的部分可以通过下面连接进行下载: https://edu.postgrespro.com/postgresql_internals-14_part1_en.pdf 章节内容: Part I. Types of Indexes Hash · B-Tree · GiST · SP-GiST · GIN · BRIN 一本基于PG14的内核书籍即将面世,值得关注跟踪!
PostgreSQL 14和SCRAM认证的改变--应该迁移到SCRAM? 最近,一些PG使用者反馈他们切换到PG14后,遇到了一些连接错误。 4、是否必须使用PG14的SCRAM认证并强制其他用户账户切换到它? 绝对不是,只是更改了默认值。旧的Md5仍然是有效的方法,效果很好。 1)请检查环境和应用程序驱动以查看他们是否仍在使用旧版本的PG客户端库,并在需要时升级,参考:https://wiki.postgresql.org/wiki/List_of_drivers 2)如果现在有环境使用 pg_hba.conf中提到的md5也将适用于PG14的SCRAM和MD5身份认证 3)抓住一切机会测试自动化、连接池、其他基础架构并将其迁移到SCRAM认证。 原文 https://www.percona.com/blog/postgresql-14-and-recent-scram-authentication-changes-should-i-migrate-to-scram
作者 | Jonathan Allen 译者 | 盖磊 策划 | 丁晓昀 审校 | 冬雨 PostgreSQL 14 中的新语法,尤其是使用 BEGIN ATOMIC ... 但 PostgreSQL 的 wire 通信协议工作机制有别如此。虽然批处理语句依然整体发送,但客户端需将语句拆分为各条独立的命令。 原始实现可简单地假设每个分号标识一条语句的终止处。 进而 PostgreSQL 14 添加了称为“SQL 标准语法”的“BEGIN ATOMIC ... END”语句。对此发行说明中给出如下解释。 其进展可关注软件缺陷报告“新的 PG14 SQL 标准函数破坏了 PgJDBC 解析器(New PG14 SQL-standard function bodies break our SQL parser
Part 14:PostgreSQL检查点 内容1:检查点触发机制 内容2:检查点作用 内容3:检查点如何工作 内容4:检查点如何调整 检查点处理过程 · 检查点触发机制 在PostgreSQL中,检查点 PostgreSQL服务器在smart或fast模式下关闭。 手动checkpoint。
Postgresql官方开发组于5月20号正式发布了postgresql14 beta测试版本,很好的日子,postgresql值得大家钟爱不是么?来看看官方发布的新特性。 ⑤PostgreSQL FDW支持批量插入,并行查询,支持导入表分区,可以在外部表中支持truncate。 ⑥分区表性能优化。 ⑦增量排序可以用于窗口函数中。 ⑦支持lz4压缩。 ④新增idle_session_timeout控制空闲连接超时时间,新增client_connection_check_interval 参数,它可以让 PostgreSQL在客户端断开连接时取消长查询 ③优化崩溃恢复时的性能,可以在待机模式的PostgreSQL实例上使用pg_rewind。 安全 ①新增pg_read_all_data和pg_write_all_data系统默认角色。 详情请见https://www.postgresql.org/about/news/postgresql-14-beta-1-released-2213/
PostgreSQL 14中提升Nested Loop Joins性能的enable_memoize 最近在PG14中发现新增一个配置参数enable_memoize,通过此参数可以提升嵌套循环连接的性能 enable_memoize在PostgreSQL嵌套循环join中非常有用,参考上述推文,lateral join通常由嵌套循环连接来执行。 结论 该功能在PG14中开启,除了一些额外的内存消耗,看不出其他任何缺点。相关子查询是一个函数,他的入参是outer查询列的谓词和引用。相关子查询的结果可以缓存和memoized。 只需升级到PG14即可从中获利。 原文 https://blog.jooq.org/postgresql-14s-enable_memoize-for-improved-performance-of-nested-loop-joins/